Выполняет сохранение изменений текущей записи набора данных.
[id(103434)] HRESULT Post( [out, retval] long* Value );
|
Параметры |
Описание |
|
Value |
Возвращаемое значение |
Количество записей, сохраненных в базе данных.
Выполняет сохранение изменений текущей записи набора данных по следующему алгоритму:
|
№ |
Описание |
|
1. |
Если набор данных не находится в состоянии добавления или редактирования записи (значение свойства IDataset::State не равно "dstInsert" или "dstEdit"), то вызывает событие IDatasetEvents::OnDatasetBeforePost. Иначе метод завершает работу. |
|
2. |
Если в событии IDatasetEvents::OnDatasetBeforePost сохранение изменений не было отменено, то метод сохраняет изменения набора данных в базу и переводит набор данных в состояние просмотра данных (устанавливает свойству IDataset::State значение "dstBrowse"). Иначе завершает работу и возвращает значение "0". |
|
4. |
Вызывает событие IDatasetEvents::OnDatasetAfterPost. |
|
6. |
Возвращает количество сохраненных записей. |
|
№ |
Описание |
|
1. |
Сохранение данных набора выполняется с помощью запросов на вставку (IDBDataset::InsertQuery) и обновление (IDBDataset::UpdateQuery). Если запросы являются генерируемыми (значение свойств IDBDataset::GenerateInsertQuery и IDBDataset::GenerateUpdateQuery равны "True"), то метод IDataset::Post выполнит сохранение всех записей, значение ключевого поля (IDataset::KeyDataField) которых равно значению ключевого поля текущей записи. |
|
2. |
Запрос на обновление записей определен пользователем, если значение свойства IDBDataset::GenerateUpdateQuery равно "False". Аналогично, запрос на вставку записей определен пользователем, если значение свойства IDBDataset::GenerateInsertQuery равно "False". |
|
Copyright (с) Terrasoft 2002-2012.
|